5 REM ********************************** 10 REM * GIGA-CAD GRAPHIC-SYSTEM * 15 REM * 'CAD.MAIN' * 20 REM * BY S. VILSMEIER & S. LIPPSTREU * 25 REM ********************************** 30 : 35 : 40 A=PEEK(836)+1:POKE836,A:IFA=1THENPOKE55,0:POKE56,80:CLR:A=1 45 IFA=1THENLOAD"HIRES4.CAD.OBJ",8,1 50 IFA=2THENLOAD"HIRES6.CAD.OBJ",8,1 55 SYS50707,1:POKE53280,14:DIMB$(63):IFD=0THENGOSUB3060:POKE808,237 60 CLOSE1:OPEN1,8,15,"U9":CLOSE1:SYS37021 65 : 70 : 75 REM ********************************** 80 REM * VARIABLEN / SYS-ADRESSSEN * 85 REM ********************************** 90 : 95 N=50181:CO=50292:E=50707:G=50859:LI=51049:JO=51627:H2=1 100 RE=51800:T2=52490:MU=52517:CP=36878:J2=39247:D1=40052:C2=40206 105 L4=21764:UM=22873:ML=21839 110 FR=51480:UF=51507:F(1)=11:F(2)=12:F(3)=0:F(4)=15 115 IFPEEK(53263)=1ANDL=1THENB=1:RI=0:GOSUB2475:SYSCO,2,0:POKE53263,0:GOTO125 120 SYSE,1:SYSN,11,15,2:RI=0:L=1:IFD<>1THENB=2:GOSUB2875 125 SYSG,160,190,319,199,0,2:SYST2,2:IFD=1THENSYS25919:V=0:K=0 130 SYSCP,2:SYSRE,0,0,319,199,1,2:SYSCO,1,0 135 POKE192,0:CLOSE1:OPEN1,8,15,"XR+":PRINT#1,"U9":CLOSE1:GOTO525 140 : 145 : 150 REM ********************************* 155 REM * MANIPULATIONEN BEI FILMEN * 160 REM ********************************* 165 : 170 IFA=1ANDDR<>0THENDR=0:GOTO420 175 IFA=3ANDDL<>0THENDL=0:GOTO420 180 IFA=2ANDDU<>0THENDU=0:GOTO420 185 INPUT"[147][196]REHUNG UM [216],[217], ODER [218]-[193]CHSE";A$:C=ASC(A$)-87 190 IFA=1THENDR=C:DU=0:GOTO410 195 IFA=3THENDL=C:GOTO410 200 IFA=2THENDU=C:DR=0:GOTO410 205 PRINT"[147][211]UMMANDEN DES [198]LUCHTPUNKTES 5,15,5"; 210 INPUT"";KX,KY,KZ:GOTO410 215 PRINT"[147][214]ERSCHIEBUNGSFAKTOR 5.5" 220 INPUT"[145]";KF::KF=-KF:GOTO410 225 PRINT"[147][206]EIGUNG DER [218]-[193]CHSE -30" 230 INPUT"[145]";ZV::GOTO410 235 PRINT"[147][214]ERGROESSERUNGSFAKTOR 3" 240 INPUT"[145]";VF:VF=VF*100:GOTO410 245 GOSUB1015:IFA$<>"J"GOTO410 250 A=49153:POKEA+940,DR:POKEA+941,DL:W=KX:I=942:GOSUB2815 255 W=KY:GOSUB2815:W=KZ:GOSUB2815 260 W=VF:GOSUB2815 265 W=KF:GOSUB2815:L=.5:POKEA+952,DU:GOTO2400 270 DR=0:DL=0:KX=0:KY=0:KZ=0:VF=0:KF=0:GOTO420 275 : 280 : 285 REM ********************************* 290 REM * MENUE: ZUSAETZE * 295 REM ********************************* 300 : 305 GOSUB615:PRINT"  [218]USAETZE " 310 GOSUB620 315 PRINT"[193]. 4-FACHE [193]UFLOESUNG" 320 PRINT"[194]. 10-FACHE [193]UFLOESUNG" 325 PRINT"[195]. [198]ILM ERSTELLEN" 330 PRINT"[196]. [198]ILM ERGAENZEN" 335 PRINT"[197]. [210]AHMEN ZEICHEN AN ";:IFRN=0THENPRINT"[157][157][157]AUS" 340 GOSUB1020 345 GOSUB635:IFA$="_"THENSYSE,1:GOTO525 350 IFA<1ORA>5GOTO345 355 ONAGOTO360,370,410,480,490 360 GOSUB1015:IFA$<>"J"GOTO305 365 L=2:RI=0:WM=0:BS=0:MC=0:GOTO2395 370 GOSUB1015:IFA$<>"J"GOTO305 375 L=2:RI=1:WM=0:BS=0:MC=0:GOTO2395 380 : 385 : 390 REM ********************************* 395 REM * MENUE: FILM * 400 REM ********************************* 405 : 410 GOSUB615:PRINT"  [198]ILM ERSTELLEN " 415 GOSUB620 420 PRINT"[193]. [196]REHUNG DES [203]OERPERS AN ";:IFDR=0THENPRINT"[157][157][157]AUS"; 425 PRINT:PRINT"[194]. [196]REHUNG UM DEN [203]OERPER AN ";:IFDU=0THENPRINT"[157][157][157]AUS"; 430 PRINT:PRINT"[195]. [196]REHUNG DER [204]ICHTQUELLE AN ";:IFDL=0THENPRINT"[157][157][157]AUS"; 435 PRINT:PRINT"[196]. [214]ERSCHIEBEN DES [198]LUCHTPUNKTES" 440 PRINT"[197]. [214]ERSCHIEBEN DER [211]CHNITTEBENE" 445 PRINT"[198]. [203]IPPEN DER [218]-[193]CHSE" 450 PRINT"[199]. [193]ENDERN DER [199]ROESSE" 455 PRINT"[200]. [194]ERECHNUNG" 460 PRINT"[201]. [206]EUE [208]ARAMETER" 465 GOSUB635:IFA$="_"GOTO305 470 IFA<1ORA>9GOTO345 475 ONAGOTO170,170,170,205,215,225,235,245,270 480 GOSUB1015:IFA$<>"J"GOTO305 485 L=3:RI=0:WM=0:GOTO2395 490 RN=1-RN:GOTO315 495 : 500 : 505 REM ********************************* 510 REM * JOYSTICK-ABFRAGE HAUPTMENUE * 515 REM ********************************* 520 : 525 O=160:P=10:POKE53280,14:DS=0:FI=0 530 GOSUB1030:IFPEEK(631)<>0GOTO530 535 IFP>9GOTO530 540 IFO<57GOTO2970 545 IFO>97ANDO<126GOTO1760 550 IFO>288GOTO1105 555 IFO>126ANDO<165GOTO1360 560 IFD=1GOTO530 565 IFO>57ANDO<97GOTO2230 570 IFO>165ANDO<233GOTO2395 575 IFO>234ANDO<287GOTO305 580 : 585 : 590 REM ********************************* 595 REM * DIVERSE UNTERPROGRAMME * 600 REM ********************************* 605 : 610 GOTO530 615 PRINT"[147][151] [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]":RETURN 620 FORI=1TO22:PRINT" [165] [167]":NEXT 625 PRINT"[160][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]":RETURN 630 SYSE,0:PRINTCHR$(14)CHR$(8)"[151]";:RETURN 635 GETA$:IFA$=""GOTO635 640 A=ASC(A$)-64:RETURN 645 SYSL4,0,0,0,199,1,1:SYSL4,319,0,319,199,1,2:IFFI=1THENSYSL4,0,0,319,0,1,3 650 RETURN 655 : 660 : 665 REM ********************************* 670 REM * DISK - STATUS * 675 REM ********************************* 680 : 685 CLOSE1 690 OPEN1,8,15:INPUT#1,F,F$,T,S:IFF=0THENRETURN 695 GOSUB1020:PRINT:PRINT"[196]ISKETTENFEHLER :" 700 PRINT""F","F$","T","S:IFDS=0ANDFITHENRETURN 705 CLOSE2:PRINT#1,"U9":CLOSE1:IFDS=0THENGOSUB635:RETURN 710 PRINT"[206]OCH EIN [214]ERSUCH (J/N) ?" 715 GOSUB635:IFA$="N"THENF=99:PRINT"[147]":RETURN 720 IFA$="J"THENF=1:PRINT"[147]":RETURN 725 GOTO715 730 : 735 : 740 REM ********************************* 745 REM * RAHMEN-BLINKEN BEI 'ZOOM' * 750 REM ********************************* 755 : 760 SYSL4,R,Q,O-1,Q,2,1:SYSL4,O,Q,O,P-1,2,1 765 SYSL4,O,P,R+1,P,2,1:SYSL4,R,P,R,Q+1,2,1:PM=1-PM:RETURN 770 W=W+1:IFJ1<>JTHENW=1 775 IFW>20THENW=20 780 J1=J:P=P+W*(J=1)-W/M*(J=3)-W*(J=5)+W/M*(J=7) 785 O=O+W*M*(J=1)-W*(J=3)-W*M*(J=5)+W*(J=7):RETURN 790 : 795 : 800 REM ********************************* 805 REM * ANGEWAEHLTES SYMBOL * 810 REM ********************************* 815 : 820 IFO<50THENR=3:RX=49:Q1=1:GOTO835 825 IFO<100THENR=50:RX=99:Q1=3:GOTO835 830 R=100:RX=156:Q1=2 835 IFP<135THENQ=102:RY=134:Q2=2:GOTO850 840 IFP<165THENQ=135:RY=164:Q2=1:GOTO850 845 Q=165:RY=196:Q2=0 850 C=Q2*3+Q1:RETURN 855 SYSG,R,Q,RX,RY,2,B:RETURN 860 : 865 : 870 REM ********************************* 875 REM * VERFORMUNG PER JOYSTICK * 880 REM ********************************* 885 : 890 IFBQ=1ANDEI=0THENBQ=0:B=2:GOSUB855 895 SYSJO:J=PEEK(859) 900 IFJ=0GOTO895 905 IFJ=128GOTO920 910 IFINT(J/2)=J/2GOTO895 915 J=INT(J/2)+1:RETURN 920 B=2:GOSUB855:C=0:BQ=1:RETURN 925 : 930 : 935 REM ********************************* 940 REM * VERFORMUNG UEBER TASTATUR * 945 REM ********************************* 950 : 955 IFA<49ORA>57THENC=0:RETURN 960 A=A-48:XA=INT((9-A)/3)*3:XB=A-INT((A-1)/3)*3 965 XB=3+(XB<2)*2+(XB>2)*1:C=XA+XB:EI=1:GOSUB630:GETA$ 970 IFC>6THENINPUT"[147][196]REHWINKEL 90[157][157][157][157]";W:RETURN 975 IFC>3THENINPUT"[147][214]ERSCHIEBUNGSSUMMAND 50[157][157][157][157]";W:RETURN 980 INPUT"[147][214]ERZERRRUNGSFAKTOR 1.5[157][157][157][157][157]";W:RETURN 985 : 990 : 995 REM ******************************** 1000 REM * DIVERSE UNTERPROGRAMME II. * 1005 REM ******************************** 1010 : 1015 PRINT" [211]IND [211]IE SICHER ? [146]":GOSUB635:RETURN 1020 IFPEEK(53272)<>23THENGOSUB630 1025 RETURN 1030 SYSJ2,O,P,0:O=PEEK(2024)+256*PEEK(2025):P=PEEK(2026):RETURN 1035 CLOSE1 1040 OPEN2,8,2,N1$+LEFT$(N$,10)+STR$(FI*2+(B-2))+",P,W":GOSUB690:IFF=0GOTO1055 1045 IFF=99THENCLOSE2:GOSUB3115:RETURN 1050 CLOSE1:CLOSE2:OPEN1,8,15,"S:"+N1$+LEFT$(N$,10)+STR$(FI*2+(B-2)):GOTO1035 1055 SYS26068,B:CLOSE2:GOSUB3115:RETURN 1060 EI=1:GOSUB630:GETA$:INPUT"[147][214]ERZERRUNGSFAKTOR 1.5[157][157][157][157][157]";W 1065 SYSRE,2,101,157,197,0,1:SYSUM,1,0,1,D,1,0,W:SYSUM,2,0,1,D,1,0,W:RETURN 1070 SYSE,0:GOTO2970:REM 'DARSTELLEN' 1075 : 1080 : 1085 REM ******************************** 1090 REM * DARSTELLUNGS - 'MODI' * 1095 REM ******************************** 1100 : 1105 YU=0:GOSUB615:PRINT"  [196]ARSTELLUNGS - [205]ODI " 1110 GOSUB620 1115 PRINT"[193]. [198]LUCHTPUNKTDARSTELLUNG AN ";:IFFL=0THENPRINT"[157][157][157]AUS"; 1120 PRINT:PRINT"[194]. [218]EICHNEN DER [211]CHNITTLINIEN AN "; 1125 IFSL=0THENPRINT"[157][157][157]AUS"; 1130 PRINT:PRINT"[195]. [200]IDDEN-[204]INE [205]ODUS AN ";:IFHD=0THENPRINT"[157][157][157]AUS"; 1135 PRINT:PRINT"[196]. [211]CHATTIERUNGS-[205]ODUS AN ";:IFWQ=0THENPRINT"[157][157][157]AUS"; 1140 PRINT:PRINT"[197]. [204]ICHTQUELLEN-[203]OORDINATEN" 1145 PRINT"[198]. [205]ULTICOLOUR-[205]ODUS AN ";:IFMC=0THENPRINT"[157][157][157]AUS"; 1150 PRINT:PRINT"[199]. [196]OPPELMODUS [200]IRES & [205]ULTI AN "; 1155 IFWM=0THENPRINT"[157][157][157]AUS"; 1160 PRINT:PRINT"[200]. [200]IDDEN-[204]. & [211]CHATTIERUNG AN ";:IFBS=0THENPRINT"[157][157][157]AUS"; 1165 PRINT:PRINT"[201]. [211]CHNITTEBENE AN ";:IFSE=0THENPRINT"[157][157][157]AUS"; 1170 GOSUB1020 1175 GOSUB635:IFA$="_"THENSYSE,1:GOTO525 1180 IFA<1ORA>9GOTO1175 1185 ONAGOTO1195,1190,1215,1220,1225,1245,1250,1265,1255 1190 SL=1-SL:GOTO1115 1195 FL=1-FL:IFFL=0GOTO1280 1200 PRINT"[147][198]LUCHTPUNKT-[203]OORDINATEN:" 1205 PRINT"[216],[217],[218] "STR$(A1)","STR$(A2)","STR$(A3):YU=1 1210 INPUT"[145]";A1,A2,A3:GOTO1280 1215 HD=1-HD:GOTO1305 1220 WQ=1-WQ:GOTO1310 1225 PRINT"[147][203]OORDINATEN DER [204]ICHTQUELLE:" 1230 PRINT"[216],[217],[218] "WX"[157],"WY"[157],"WZ 1235 INPUT"[145]";WX,WY,WZ:IFWX=0ANDWY=0ANDWZ=0GOTO1235 1240 GOTO1105 1245 MC=1-MC:GOTO1280 1250 WM=1-WM:GOTO1290 1255 SE=1-SE:IFSEGOTO1270 1260 GOTO1280 1265 BS=1-BS:GOTO1295 1270 YU=1:PRINT"[147][212]IEFE DER [211]CHNITTEBENE:" 1275 PRINT"[217] "STR$(-KE):INPUT"[145]";KE:KE=-KE:GOTO1280 1280 : 1285 IFMCTHENWM=0:BS=0 1290 IFWMTHENMC=0:BS=0 1295 IFBSTHENMC=0:WM=0 1300 IFSEORMCORWMORBSTHENWQ=1:HD=1 1305 IFHD=0THENWQ=0 1310 IFWQ=0THENMC=0:WM=0:SE=0:BS=0 1315 IFWQTHENHD=1 1320 IFYUGOTO1105 1325 GOTO1115 1330 : 1335 : 1340 REM ******************************** 1345 REM * MENUE 'ZOOM' * 1350 REM ******************************** 1355 : 1360 SYSG,127,0,165,9,2,1 1365 GOSUB615:PRINT"  [218]OOM - [205]ENUE " 1370 GOSUB620 1375 PRINT"[193]. [218]OOMEN DES [207]BJEKTS" 1380 PRINT"[194]. [207]RGINALGROESSE" 1385 PRINT"[195]. [207]PTIMALER [193]USSCHNITT" 1390 PRINT"[196]. [194]ETRACHTEN DER [199]RAFIK" 1395 PRINT"[197]. [218]ENTRIEREN":GOSUB1020 1400 GOSUB635:IFA$="_"THENSYSE,1:SYSG,127,0,165,9,2,1:GOTO525 1405 IF(A<1ORA>5)OR(A<>4ANDD=1)GOTO1400 1410 ONAGOTO1445,1550,1585,1640,1675 1415 : 1420 : 1425 REM ******************************** 1430 REM * 'ZOOMEN DES OBJEKTS' * 1435 REM ******************************** 1440 : 1445 SYSE,1:O=160:P=100:M=8/5:PM=0 1450 GOSUB1030 1455 IF(PEEK(631))=95GOTO1545 1460 SYSJO:IFPEEK(859)=128GOTO1460 1465 R=O:Q=P 1470 GOSUB760:SYSJO:J=PEEK(859):GETA$:IFA$<>""GOTO1525 1475 IFJ=0ORJ>128THENW=0:GOTO1470 1480 IFPMTHENGOSUB760 1485 IFJ=128GOTO1505 1490 IFINT(J/2)=J/2GOTO1470 1495 IFO1THENPM=1 1590 SYSE,1:O=-8000:P=O:R=-O:Q=-O:F1=0:F2=0:H=1:H2=1 1595 I=0:FORA=1TOV:SYSD1,A:Y1=USR(1):U=USR(2):Z1=USR(3):GOSUB2910 1600 IFU>OTHENO=U 1605 IFZ1>PTHENP=Z1 1610 IFUB2/MTHENFA=B1/M:P=P+ABS(FA-B2)/2:Q=Q-ABS(FA-B2)/2:GOTO1510 1640 SYSG,127,0,165,9,2,1:SYSE,2:B=2:GOTO2130:REM 'BETRACHTEN DER GRAFIK' 1645 : 1650 : 1655 REM ******************************** 1660 REM * 'ZENTRIEREN' * 1665 REM ******************************** 1670 : 1675 SYSE,1:O=-8000:P=O:R=-O:Q=R:QZ=R:PZ=P:F1=0:F2=0:H=1:H2=1 1680 I=0:FORA=1TOV:SYSD1,A:U=USR(1):Y1=USR(2):Z1=USR(3) 1685 IFU>OTHENO=U 1690 IFY1>PTHENP=Y1 1695 IFZ1>PZTHENPZ=Z1 1700 IFU6GOTO1805 1815 ONAGOTO1850,1925,2060,2000,2110,2165 1820 : 1825 : 1830 REM ******************************** 1835 REM * 'OBJEKT LADEN' * 1840 REM ******************************** 1845 : 1850 GOSUB615:GOSUB625:PRINT"  [207]BJEKT LADEN [146]" 1855 INPUT"[207]BJEKT - [206]AME ";N$:IFN$="_"ORN$=""GOTO1760 1860 OPEN2,8,2,"OB."+N$+",S,R":GOSUB685:IFF<>0GOTO1760 1865 H=1:L=1:F1=0:F2=0:FK=0:H2=1:V=0:D=1:K=0:SYS25919 1870 INPUT#2,D:INPUT#2,V:INPUT#2,K 1875 SYS22541,D,V 1880 FORI=1TOK:INPUT#2,B$(I):NEXT 1885 SYSC2,V+1,D,0,0 1890 CLOSE2:GOSUB685:GOSUB3115:SYSE,1:SYSN,11,15,2:GOTO115 1895 : 1900 : 1905 REM ******************************** 1910 REM * 'OBJEKT SPEICHERN' * 1915 REM ******************************** 1920 : 1925 IFD=1GOTO1805 1930 GOSUB615:GOSUB625::PRINT"  [207]BJEKT SPEICHERN [146]" 1935 INPUT"[207]BJEKT - [206]AME ";N$:IFN$="_"ORN$=""GOTO1760 1940 OPEN2,8,2,"OB."+N$+",S,W":GOSUB685:IFF<>0GOTO1760 1945 PRINT#2,D:PRINT#2,V:PRINT#2,K 1950 SYS22520,D,V 1955 FORI=1TOK:PRINT#2,B$(I):NEXT 1960 CLOSE2:GOSUB685:GOSUB3115 1965 GOTO1760 1970 : 1975 : 1980 REM ******************************** 1985 REM * 'DIRECTORY ANZEIGEN' * 1990 REM ******************************** 1995 : 2000 PRINT"[147]";:GOSUB615:PRINT"  [196]IRECTORY ANZEIGEN [146]" 2005 PRINT:OPEN2,8,0,"$0":SYS26134:CLOSE2 2010 :CLOSE2 2015 CLOSE1:OPEN1,8,15:INPUT#1,F,F$,T,S:IFF=0GOTO2025 2020 PRINT"":GOSUB695:GOTO1760 2025 PRINT#1,"U9":CLOSE1:GOSUB635:GOTO1760 2030 : 2035 : 2040 REM ******************************** 2045 REM * 'DISKETTENKOMMANDO SENDEN' * 2050 REM ******************************** 2055 : 2060 GOSUB615:GOSUB625:PRINT"  [196]ISKETTENKOMMANDO SENDEN [146]" 2065 POKE631,34:POKE198,1:N$="":INPUT"[203]OMMANDO ";N$:IFN$="_"GOTO1760 2070 CLOSE1:OPEN1,8,15,N$:INPUT#1,F,F$,T,S:PRINT" [196]ISKETTENSTATUS: " 2075 GOSUB700:GOTO1760 2080 : 2085 : 2090 REM ******************************** 2095 REM * 'GRAFIK LADEN' * 2100 REM ******************************** 2105 : 2110 GOSUB615:GOSUB625:PRINT"  [199]RAFIK LADEN [146]" 2115 INPUT"[199]RAFIK - [206]AME ";N$:IFN$="_"ORN$=""GOTO1760 2120 PRINT"[147]":OPEN2,8,2,"PI."+N$+",P,R":GOSUB685:IFF<>0GOTO1760 2125 SYSN,11,15,2:SYSE,2:SYS26101,2:CLOSE2:PRINT#1,"U9":CLOSE1:B=2 2130 GOSUB2475:SYSE,1:GOTO525 2135 : 2140 : 2145 REM ******************************** 2150 REM * 'GRAFIK SPEICHERN' * 2155 REM ******************************** 2160 : 2165 GOSUB615:GOSUB625:PRINT"  [199]RAFIK SPEICHERN [146]" 2170 CR=A:INPUT"[199]RAFIK - [206]AME ";N$:IFN$="_"ORN$=""GOTO2190 2175 IFCR=6THENINPUT"[199]RAFIK - [194]ILDSCHIRM # ";B 2180 OPEN2,8,2,"PI."+N$+",P,W" 2185 SYS26068,B:CLOSE2:GOSUB685:CLOSE1:OPEN1,8,15:PRINT#1,"U9":CLOSE1 2190 IFCR=6THENSYSE,1:GOTO525 2195 RETURN 2200 : 2205 : 2210 REM ******************************** 2215 REM * 'FORM' * 2220 REM ******************************** 2225 : 2230 SYSCO,2,0:SYSG,58,0,96,9,2,2:SYSG,0,100,158,104,0,2:BQ=1 2235 SYSMU,2:SYSRE,0,99,159,199,1,2:SYSRE,2,101,157,197,1,2:SYSE,2:B=2 2240 O=160:P=100:JL=0 2245 GOSUB1030 2250 IFPEEK(631)<>0THENA=PEEK(631):GOTO2325 2255 IFO>57ANDO<97ANDP<9THENA=95:GOTO2325 2260 IFO>159ORP<100GOTO2245 2265 GOSUB820:IFC=0GOTO2245 2270 GOSUB890:IFC=0GOTO2245 2275 SYSRE,2,101,157,197,0,2:SYSUM,C,0,0,D,EI,J,W 2280 IFJL>0THENJL=JL+1:SYSRE,2,101,157,197,1,2:IFEI=0GOTO2270 2285 IFJL>0THENEI=0:BQ=1:C=0:GOTO2245 2290 B=1:DH=HD:HD=0:SYSN,11,15,1:GOSUB2875:HD=DH 2295 SYSRE,0,0,319,199,1,1:SYST2,1:SYSG,160,190,318,198,0,1:SYSCP,1 2300 SYSE,1:SYSCO,2,0:SYSG,0,100,158,104,0,2:SYSG,58,0,96,9,2,2 2305 SYSMU,2:SYSRE,0,99,159,199,1,2:SYSRE,2,101,157,197,1,2 2310 IFJLTHENJL=1:SYSE,2:POKE53280,14:GOTO2325 2315 IFEITHENEI=0:BQ=1:C=0:SYSE,2:GOTO2245 2320 B=2:GOSUB855:BQ=0:SYSE,2:GOTO2270 2325 IFA=95ANDJL>1THENPOKE53280,14:GOTO2290 2330 IFA=95THENSYSE,1:GOTO525 2335 IFA=133ANDJL=0THENJL=1:POKE53280,6:GOTO2245 2340 IFA=133ANDJL=1THENJL=0:POKE53280,14:GOTO2245 2345 IFA=133ANDJL>1THENPOKE53280,14:GOTO2290 2350 IFA=48THENGOSUB1060:C=3:SYSE,2:GOTO2275 2355 GOSUB955:IFC=0ORW=0THENSYSE,2:EI=0:W=0:C=0:BQ=1:GOTO2245 2360 SYSE,2:GOTO2275 2365 : 2370 : 2375 REM ******************************** 2380 REM * 'DARSTELLEN' * 2385 REM ******************************** 2390 : 2395 SYSN,11,15,2:SYSE,2:POKE53280,15 2400 IFHDTHENPRINT"[147]";:SYSE,0:GOTO2975 2405 IFL<>1THENGOSUB630:INPUT"[147][198]ILE - [206]AME ";N$ 2410 IFL<>1THENDS=1:SYSE,1:PRINT"[147]":OPEN1,8,15,"XR-":PRINT#1,"U9":POKE192,192 2415 IFL=.5GOTO2565 2420 IFL=2ANDRI=1GOTO2700 2425 IFL=2GOTO2725 2430 IFL=3GOTO2750 2435 B=2:GOSUB2875 2440 GOSUB2475:SYSCO,1,0:SYSE,1:GOTO125 2445 : 2450 : 2455 REM ******************************** 2460 REM * GRAFIK BETRACHTEN * 2465 REM ******************************** 2470 : 2475 XA=1:POKE53280,15 2480 GOSUB635:A=A+64:IFA>48ANDA<51THENB=A-48:SYSE,B 2485 IFA<133ORA>140GOTO2500 2490 A=A-132:I=A-INT(A/5)*4:W=-(A<5)+(A>4):F(I)=F(I)+W:IFF(I)<0THENF(I)=15 2495 IFF(I)>15THENF(I)=0 2500 IFA=83THENA=0:GOSUB630:GOSUB2165 2505 IFA=82THENSYSRE,0,0,319,199,1,3 2510 IFA=95THENSYSML,11,15,0,1:SYSML,11,15,0,2:POKE53281,15:SYSE,B:RETURN 2515 IFA=77THENXA=1-XA 2520 SYSML,F(1),F(2),F(3),B:POKE53280,F(4):POKE53281,F(4) 2525 IFXATHENSYSML,F(1),F(4),0,B:SYSE,B 2530 GOTO2480 2535 : 2540 : 2545 REM ******************************** 2550 REM * DARSTELLUNG IN ALLEN GROESSEN* 2555 REM ******************************** 2560 : 2565 SYSN,11,15,2:SYSE,2:POKE53280,15 2570 CLOSE1:OPEN1,8,15,"S:CAD.MAIN.DATAS":PRINT#1,"XR-":PRINT#1,"U9":POKE192,192 2575 CLOSE1:OPEN2,8,2,"CAD.MAIN.DATAS,S,W":GOSUB685:IFF=0GOTO2590 2580 IFF=99THENCLOSE2:GOSUB3115:SYSE,1:GOTO135 2585 CLOSE2:CLOSE1:GOTO2570 2590 SYS22520,D,V:CLOSE2:GOSUB3115:F3=F1:F4=F2:DV=DU:VX=A1:VY=A2:VZ=A3 2595 H2=H:FORFI=1TO24:B=2:SYSE,2:H3=(VF-100)/100/24*FI+1:IFDU=0THENDU=DR 2600 SYSRE,310,0,319,194,1,2:SYS50859,311,1,318,FI*8+1,1,2 2605 IFDU=1THENSYSUM,8,0,1,D,1,0,15*FI 2610 IFDU=2THENSYSUM,7,0,1,D,1,0,15*FI 2615 IFDU=3THENSYSUM,9,0,1,D,1,0,15*FI 2620 A1=A1+KX:A2=A2+KY:A3=A3+KZ:DU=DV:IFZVTHENSYSUM,8,0,1,D,1,0,ZV 2625 IFVF<>0THENH=H2*H3:F2=F4-(100/H3-100)/H2:F1=F3-(160/H3-160)/H2 2630 GOSUB2875:SYSE,0:IFRNTHENSYSRE,0,0,159,95,1,2 2635 OPEN2,8,2,"FI."+N$+STR$(FI)+",P,W":GOSUB685:IFF=0GOTO2650 2640 IFF=99THENCLOSE2:GOSUB3115:GOTO2655 2645 CLOSE2:CLOSE1:OPEN1,8,15,"S:FI."+N$+STR$(FI):GOTO2635 2650 SYS22299:CLOSE2 2655 DS=0:CLOSE1:OPEN2,8,2,"CAD.MAIN.DATAS,S,R":GOSUB690:IFF=0GOTO2685 2660 PRINT" [196]ISKETTE MIT [211]YSTEMDATEN EINLEGEN !" 2665 PRINT" [206]OCH EINEN [214]ERSUCH (J/N) ?" 2670 GOSUB635:IFA$="J"THENCLOSE2:PRINT"[147]":GOTO2655 2675 IFA$="N"THENCLOSE2:SYS25919:DF=1:VI=0:MN=0:SYSN,11,15,2:SYSE,1:GOTO125 2680 GOTO2670 2685 SYS22541,D,V:CLOSE2:GOSUB3115:DS=1 2690 SYSN,11,15,2:NEXT:F1=F3:F2=F4 2695 H=H2:A1=VX:A2=VY:A3=VZ:SYSE,1:L=1:POKE192,0:POKE53280,14:GOTO135 2700 PRINT"[147]":FORFI=1TO5:SYSN,11,15,1:SYSN,11,15,2:SYSE,1:SYSFR,0:B=1 2705 FK=FI*200-200:GOSUB2875:SYSUF,1:SYSE,0:IFRNTHENGOSUB645 2710 IFRNANDFI=5THENSYSL4,0,199,319,199,1,3 2715 N1$="HZ.":B=1:GOSUB1035:B=2:GOSUB1035 2720 GOSUB3115:NEXTFI:FK=0:L=1:RI=0:GOTO120 2725 FORFI=1TO2:B=1:SYSN,11,15,1:SYSN,11,15,2:SYSE,1:SYSFR,0 2730 FK=(FI-1)*200:GOSUB2875:SYSUF,1:SYSE,0:IFRNTHENGOSUB645 2735 IFRNANDFI=2THENSYSL4,0,199,319,199,1,3 2740 N1$="HV.":B=1:GOSUB1035:B=2:GOSUB1035 2745 GOSUB3115:NEXTFI:FK=0:L=1:RI=0:GOTO120 2750 SYSN,11,15,2:SYSE,2:L=.5:GOSUB2875:L=1:IFRNTHENSYSRE,0,0,159,95,1,2 2755 OPEN2,8,2,"FI."+N$+",P,W":GOSUB685:IFF=0GOTO2770 2760 IFF=99GOTO2775 2765 CLOSE2:CLOSE1:OPEN1,8,15,"S:FI."+N$:CLOSE1:GOTO2755 2770 SYS22299 2775 CLOSE2:GOSUB3115:SYSE,1:L=1:GOTO135 2780 : 2785 : 2790 REM ******************************** 2795 REM * PARAMETER-UEBERGABE * 2800 REM ******************************** 2805 : 2810 W2=INT(W/256):W1=W-256*W2:POKEA+I,W1:POKEA+I+1,W2:I=I+2:RETURN 2815 IFABS(W)>3276.7THENW=3276.7*SGN(W) 2820 W=W*10+32768:GOSUB2810:RETURN 2825 POKE53280,15:GOSUB630:PRINT"[147] [211]YSTEMDISKETTE EINLEGEN !" 2830 GOSUB635:IFA$="_"THENRETURN 2835 OPEN2,8,2,N$+",P,R":CLOSE2:GOSUB685:IFFTHENA$="_":RETURN 2840 PRINT#1,"U9":CLOSE1:RETURN 2845 FORX=1TOK:FORY=1TO13:W=PEEK(A+Y):IFW=254THENY=13:GOTO2855 2850 B$(X)=B$(X)+CHR$(W) 2855 NEXTY:A=A+14:NEXTX:A=49153:RETURN 2860 FORX=1TOK:FORY=1TOLEN(B$(X)):POKEA+Y,ASC(MID$(B$(X),Y,1)):NEXTY 2865 POKEA+Y,254:A=A+14:NEXTX:A=49153:RETURN 2870 W1=A+I:W=((PEEK(W1)+256*PEEK(W1+1))-32768)/10:I=I+2:RETURN 2875 SYS20480,D,FL,RI,A1,A2,A3,H,L,F1,F2,FK,B:RETURN:REM DARSTELLEN 2880 : 2885 : 2890 REM ******************************** 2895 REM * EXTREMA * 2900 REM ******************************** 2905 : 2910 IFFL=0THEN2930 2915 IFY1-A2=0THENT=0:GOTO2925 2920 T=Y1/(Y1-A2) 2925 U=U-T*(U-A1):Z1=Z1-T*(Z1-A3) 2930 IFRI=1THENX4=U:U=-Z1*1.5:Z1=X4*1.5 2935 U=((U+160)-F1)*H*L:Z1=((Z1+100)-F2)*H*L-FK*H:RETURN 2940 : 2945 : 2950 REM ******************************** 2955 REM * PARAMETER CODIEREN * 2960 REM ******************************** 2965 : 2970 N$="CAD.CREATE":GOTO2980 2975 N$="CAD.PAINT" 2980 GOSUB2825:IFA$="_"THENSYSE,1:POKE53280,14:GOTO525 2985 A=49153:W=FL+2*WQ+4*MC+8*RI+16*SE+32*WM+64*BS+128*HD:POKEA+912,W 2990 I=900:W=K:GOSUB2810:W=D:GOSUB2810:W=V:GOSUB2810 2995 W=A1:GOSUB2815:W=A2:GOSUB2815:W=A3:GOSUB2815:I=I+1:W=WX:GOSUB2815 3000 W=WY:GOSUB2815:W=WZ:GOSUB2815:I=I+2:W=F1:GOSUB2815:W=F2:GOSUB2815 3005 W=KE:GOSUB2815:POKEA+919,L*2:POKEA+954,SL:I=898:W=ZV:GOSUB2815 3010 POKEA+920,RN:W$=STR$(H):POKEA+927,LEN(W$) 3015 FORW=1TOLEN(W$):POKEA+927+W,ASC(MID$(W$,W,1)):NEXTW:IFKTHENGOSUB2860 3020 POKE836,0:PRINT"[155][147]LOAD"CHR$(34)N$CHR$(34)",8" 3025 PRINT"RUN:":POKE631,19:POKE632,13:POKE633,13:POKE198,3:NEW 3030 : 3035 : 3040 REM ******************************** 3045 REM * PARAMETER DECODIEREN * 3050 REM ******************************** 3055 : 3060 A=49153:K=PEEK(A+900):D=PEEK(A+902)+256*PEEK(A+903) 3065 V=PEEK(A+904)+256*PEEK(A+905) 3070 IFPEEK(A+919)=255THENWY=500:WZ=-200:A1=50:A2=300:A3=30:L=1:H=1:GOTO3110 3075 I=906:GOSUB2870:A1=W:GOSUB2870:A2=W 3080 GOSUB2870:A3=W:I=I+1:GOSUB2870:WX=W:GOSUB2870:WY=W:GOSUB2870:WZ=W 3085 I=I+2:GOSUB2870:F1=W:GOSUB2870:F2=W:GOSUB2870:KE=W:L=PEEK(A+919)/2 3090 W=PEEK(A+912):RN=PEEK(A+920) 3095 FL=WAND1:WQ=(WAND2)/2:MC=(WAND4)/4:RI=(WAND8)/8:SE=(WAND16)/16 3100 WM=(WAND32)/32:BS=(WAND64)/64:HD=(WAND128)/128:SL=PEEK(A+954) 3105 N$="":FORX=1TOPEEK(A+927):N$=N$+CHR$(PEEK(A+927+X)):NEXTX:H=VAL(N$) 3110 GOSUB2845:RETURN 3115 CLOSE1:OPEN1,8,15,"U9":CLOSE1:RETURN